package br.com.timesystem.util;

import java.text.MessageFormat;
import java.util.Locale;
import java.util.ResourceBundle;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

public class MensagemUtil {

    public static String getMensagem(String propriedade) {
        FacesContext context = FacesContext.getCurrentInstance();
        ResourceBundle bundle = context.getApplication().getResourceBundle(context, "msg");
        return bundle.getString(propriedade);
    }

    public static String getMensagem(String propriedade, Object... parametros) {
        String mensagem = getMensagem(propriedade);
        MessageFormat formatter = new MessageFormat(mensagem);
        return formatter.format(parametros);
    }

    public static String getMensagem(Locale locale, String propriedade, Object... parametros) {
        String mensagem = getMensagem(locale, propriedade);
        MessageFormat formatter = new MessageFormat(mensagem);
        return formatter.format(parametros);
    }

    public static void exibirMensagemErro(String texto) {
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, texto, texto));
    }

    public static void exibirMensagemErro(String key, String texto) {
        FacesContext.getCurrentInstance().addMessage(key, new FacesMessage(FacesMessage.SEVERITY_ERROR, texto, texto));
    }
    
    public static void exibirMensagemInformacao(String texto) {
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, texto, texto));
    }

    public static void exibirMensagemInformacao(String key, String texto) {
        FacesContext.getCurrentInstance().addMessage(key, new FacesMessage(FacesMessage.SEVERITY_INFO, texto, texto));
    }
    
    public static void exibirMensagemAlerta(String texto) {
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, texto, texto));
    }

    public static void exibirMensagemAlerta(String key, String texto) {
        FacesContext.getCurrentInstance().addMessage(key, new FacesMessage(FacesMessage.SEVERITY_WARN, texto, texto));
    }
    
    public static void exibirMensagemErroFatal(String texto) {
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_FATAL, texto, texto));
    }
    
    public static void exibirMensagemErroFatal(String key, String texto) {
        FacesContext.getCurrentInstance().addMessage(key, new FacesMessage(FacesMessage.SEVERITY_FATAL, texto, texto));
    }
    
}
